import java.util.LinkedList;
import java.util.Queue;

class MyStack {
      private Queue<Integer> queue ;
      private int usedSize ;
    public MyStack() {
        this.queue = new LinkedList<>() ;
    }
    
    public void push(int x) {
        this.queue.offer(x) ;
        this.usedSize ++ ;
    }
    
    public int pop() {
        int ret = 0 ; 
       for(int i = this.usedSize-1 ; i >0 ; i--){
          ret = this.queue.poll() ;
           this.queue.offer(ret) ;
       }
         ret = this.queue.poll() ;
         this.usedSize -- ;
       return ret ;
    }
    
    public int top() {
        int ret = 0 ; 
       for(int i = this.usedSize ; i >0 ; i--){
          ret = this.queue.poll() ;
           this.queue.offer(ret) ;
       }
         
       return ret ;
    }
    
    public boolean empty() {
        return this.usedSize == 0 ;
    }
}
